std::literals::chrono_literals:: operator""ns
|
Определено в заголовочном файле
<chrono>
|
||
|
constexpr
std::
chrono
::
nanoseconds
operator "" ns ( unsigned long long nsec ) ; |
(1) | (since C++14) |
|
constexpr
std::
chrono
::
duration
<
/*unspecified*/
,
std::
nano
>
operator "" ns ( long double nsec ) ; |
(2) | (since C++14) |
Формирует литерал std::chrono::duration представляющий наносекунды.
Содержание |
Параметры
| nsec | - | количество наносекунд |
Возвращаемое значение
Литерал std::chrono::duration .
Возможная реализация
constexpr std::chrono::nanoseconds operator""ns(unsigned long long ns) { return std::chrono::nanoseconds(ns); } constexpr std::chrono::duration<long double, std::nano> operator""ns(long double ns) { return std::chrono::duration<long double, std::nano>(ns); } |
Примечания
Этот оператор объявлен в пространстве имён std :: literals :: chrono_literals , где и literals , и chrono_literals являются встроенными пространствами имён . Доступ к этому оператору можно получить с помощью:
- using namespace std :: literals ,
- using namespace std :: chrono_literals , или
- using namespace std :: literals :: chrono_literals .
Кроме того, в пространстве имён std :: chrono директива using namespace literals :: chrono_literals ; предоставляется стандартной библиотекой , так что если программист использует using namespace std :: chrono ; для получения доступа к классам в библиотеке chrono , соответствующие литеральные операторы также становятся видимыми.
Пример
#include <chrono> #include <iostream> int main() { using namespace std::chrono_literals; auto d1{250ns}; std::chrono::nanoseconds d2{1us}; std::cout << d1 << " = " << d1.count() << " nanoseconds\n" << d2 << " = " << d2.count() << " nanoseconds\n"; }
Вывод:
250ns = 250 nanoseconds 1000ns = 1000 nanoseconds
Смотрите также
|
создает новый duration
(публичная функция-член
std::chrono::duration<Rep,Period>
)
|